<?php

namespace app\common\model;

class ProjectSatisfactionAnswer extends BaseModel
{
    protected $name = "project_satisfaction_answer";

    /**
     * 查询列表
     *
     * @time 2020年04月28日
     * @return mixed
     */
    public function getList()
    {
        // 不分页
        if (property_exists($this, 'paginate') && $this->paginate === false) {
            return $this->field('*')
                ->order('created_at', 'desc')
                ->creator()
                ->select();
        }

        // 分页列表
        return $this->field('*')
            ->order('created_at', 'desc')
            ->creator()
            ->paginate();
    }

    /**
     * 添加数据
     * @param array $data
     * @return string
     */
    public function addData(array $data): string
    {
        //添加时销毁自带的主键id
        unset($data['id']);
        return $this->save($data);
    }

    /**
     * 更新数据
     * @param array $data
     * @return bool
     */
    public function saveData($id, array $data): bool
    {
        $model = self::find($id);
        return $model->save($data);
    }

    /**
     * 条件获取单条数据
     * @param array $where 查询条件
     * @param string $field 字段
     * @param string $order 排序字段
     * @param string $sort 排序方式
     */
    public function getOneData(array $where=[], string $field="*", string $order='created_at', string $sort="desc")
    {
        return $this->where($where)->field($field)->order($order, $sort)->find();
    }

    /**
     * 条件获取全部数据
     * @param array $where 查询条件
     * @param string $field 字段
     * @param string $order 排序字段
     * @param string $sort 排序方式
     */
    public function getWholeData(array $where=[], string $field="*", string $order='created_at', string $sort="desc")
    {
        return $this->where($where)->field($field)->order($order, $sort)->select();
    }

}